﻿Imports System.Data

Partial Class Interfaz_frmBusDocumentoEmitidos
    Inherits System.Web.UI.Page
    Dim CL As New ControladorLogica
    Dim dtDatos As New DataTable
    Dim dataset As New DataSet
    Dim data As New DataTable

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If CL.visibilidadesFormsInternos("Busqueda", Session("user").ToString) = False Then
            Response.Redirect("Index.aspx")
        End If
        Dim arrayOC As New ArrayList
        Dim ArrayProveedor As New ArrayList
        Dim i As Integer

        ArrayProveedor = CL.ObtenerProveedor()
        arrayOC = CL.ObtenerOrdenCompra()

        'se guardan datos en secion para el positback de la pagina respecto al los datos del datagridview
        If Session("busquedaOC") Is Nothing Then
            Session("busquedaOC") = dtDatos
        Else
            dtDatos = DirectCast(Session("busquedaOC"), DataTable)
        End If

        If Not Page.IsPostBack Then
            For i = 0 To arrayOC.Count - 1
                DropOCCliente.Items.Add(DirectCast(arrayOC.Item(i), OrdenCompra).NumeroDeOrden)
            Next

            For i = 0 To ArrayProveedor.Count - 1
                Me.DropProveedor.Items.Add(DirectCast(ArrayProveedor.Item(i), Proveedor).Rznsocial)
            Next

            DropFechaPago1.Items.Add("Enero")
            DropFechaPago1.Items.Add("Febrero")
            DropFechaPago1.Items.Add("Marzo")
            DropFechaPago1.Items.Add("Abril")
            DropFechaPago1.Items.Add("Mayo")
            DropFechaPago1.Items.Add("Junio")
            DropFechaPago1.Items.Add("Julio")
            DropFechaPago1.Items.Add("Agosto")
            DropFechaPago1.Items.Add("Septiembre")
            DropFechaPago1.Items.Add("Octubre")
            DropFechaPago1.Items.Add("Noviembre")
            DropFechaPago1.Items.Add("Diciembre")

            DropFechaPago2.Items.Add("2011")
            DropFechaPago2.Items.Add("2012")
            DropFechaPago2.Items.Add("2013")
            DropFechaPago2.Items.Add("2014")
            DropFechaPago2.Items.Add("2015")
            DropFechaPago2.Items.Add("2016")
            DropFechaPago2.Items.Add("2017")
            DropFechaPago2.Items.Add("2018")
            DropFechaPago2.Items.Add("2019")
            DropFechaPago2.Items.Add("2020")
            DropFechaPago2.Items.Add("2021")
            DropFechaPago2.Items.Add("2022")

            DropFechaPedido1.Items.Add("Enero")
            DropFechaPedido1.Items.Add("Febrero")
            DropFechaPedido1.Items.Add("Marzo")
            DropFechaPedido1.Items.Add("Abril")
            DropFechaPedido1.Items.Add("Mayo")
            DropFechaPedido1.Items.Add("Junio")
            DropFechaPedido1.Items.Add("Julio")
            DropFechaPedido1.Items.Add("Agosto")
            DropFechaPedido1.Items.Add("Septiembre")
            DropFechaPedido1.Items.Add("Octubre")
            DropFechaPedido1.Items.Add("Noviembre")
            DropFechaPedido1.Items.Add("Diciembre")

            DropFechaPedido2.Items.Add("2011")
            DropFechaPedido2.Items.Add("2012")
            DropFechaPedido2.Items.Add("2013")
            DropFechaPedido2.Items.Add("2014")
            DropFechaPedido2.Items.Add("2015")
            DropFechaPedido2.Items.Add("2016")
            DropFechaPedido2.Items.Add("2017")
            DropFechaPedido2.Items.Add("2018")
            DropFechaPedido2.Items.Add("2019")
            DropFechaPedido2.Items.Add("2020")
            DropFechaPedido2.Items.Add("2021")
            DropFechaPedido2.Items.Add("2022")

            dtDatos.Columns.Add(New DataColumn("NUMORDEN"))
            dtDatos.Columns.Add(New DataColumn("FECHAPEDIDO"))
            dtDatos.Columns.Add(New DataColumn("FECHAPAGO"))

            Me.GridOC.DataBind()
            Me.GridOC.DataSource = Me.dtDatos

        End If

        Me.GridOC.DataBind()
        Me.GridOC.DataSource = Me.dtDatos

    End Sub

#Region "Funciones"
    Public Sub Mensaje(ByVal msg As String)
        Dim alertScript As String = "<script language=JavaScript runat=server>"
        alertScript &= "alert('" & msg & "');"
        alertScript &= "</script>"
        ClientScript.RegisterClientScriptBlock(Page.GetType(), "clientScrip", alertScript)
    End Sub

    Private Sub buscar()
        Dim query As String
        Dim array As New ArrayList
        Dim i As Integer

        If checkOC.Checked = True Then
            query = "select * from ordencompra where numorden =" + DropOCCliente.SelectedValue.ToString
            array = CL.ObtenerOrdenCompra(query)
        Else
            If CheckFechaPago.Checked = True Then
                'query = "select * from ordentrabajo where id = '" + DropOT.SelectedValue.ToString + "'"
                'array = CL.ObtenerOrdenTrabajo(query)
            Else
                If CheckFechaPedido.Checked = True Then
                    'query = "select * from requisicion where id = '" + DropRQNumRQ.SelectedValue.ToString + "'"
                    'array = CL.ObtenerRequisicion(query)
                Else
                    If CheckProv.Checked = True Then
                        query = "select rut from proveedor where rznsocial ='" + DropProveedor.SelectedValue.ToString + "'"
                        Dim dato As String = CL.Ejecuta(query).Item("rut").ToString
                        query = "select * from ordencompra where fkproveedor ='" + dato + "'"
                        array = CL.ObtenerOrdenCompra(query)
                    Else
                        query = "select * from ordencompra"
                        array = CL.ObtenerOrdenCompra(query)
                    End If
                End If
            End If
        End If

        Try
            If array.Count = 0 Then
                Me.Mensaje("No existe ninguna presupuesto asociado al criterio de busqueda seleccionado")
            Else
                For i = 0 To array.Count - 1
                    Dim drDatos As DataRow = dtDatos.NewRow
                    drDatos.Item("NUMORDEN") = DirectCast(array.Item(i), OrdenCompra).NumeroDeOrden
                    drDatos.Item("FECHAPEDIDO") = DirectCast(array.Item(i), OrdenCompra).FechaDePedido
                    drDatos.Item("FECHAPAGO") = DirectCast(array.Item(i), OrdenCompra).FechaDePago
                    dtDatos.Rows.Add(drDatos)
                Next
                Me.GridOC.DataSource = dtDatos
                Me.GridOC.DataBind()
                Me.GridOC.ForeColor = Drawing.Color.Blue
            End If
        Catch ex As Exception
            Me.Mensaje(ex.ToString)
        End Try

        clean()

    End Sub

    Private Sub clean()
        Me.checkOC.Checked = False
        Me.CheckFechaPago.Checked = False
        Me.CheckFechaPedido.Checked = False
    End Sub

    Private Sub vaciaGrid()
        data = DirectCast(Session("busquedaOC"), DataTable)
        If Not data Is Nothing Then
            data.Clear()
            Session("busquedaOC") = data
        End If
    End Sub
#End Region

#Region "Botones"

    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.vaciaGrid()
        Me.buscar()
    End Sub
#End Region
   
End Class

